Locating computer-controlled entities

ABSTRACT

A beacon device is provided in proximity to a computing system within a computing center. A request to locate the computing system in the computing center is triggered on a central control unit. In response to the request to locate the computing system, the control unit generates specification data for a unique radio signal identifier, sends an activation request and the specification data to the beacon device, and provides the specification data to a portable device and stores the specification data on the portable device. In response to receiving the activation request, the beacon device sends a radio signal identifier generated from the specification data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This Application is a Continuation of U.S. patent application Ser. No.14/643,395 filed on Mar. 10, 2015, which is a Continuation of U.S.patent application Ser. No. 12/852,624, filed on Aug. 9, 2010.

CLAIM TO FOREIGN PRIORITY

This application claims priority to European Patent Application No.09167688.2, filed Aug. 12, 2009 and entitled “LocatingComputer-Controlled Entities.”

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates in general to computers, and moreparticularly to a method, system, and computer program product forlocating computer-controlled entities.

2. Description of the Related Art

Large computing centers include a vast number of computing units andrelated equipment that are distributed within in a wide area (e.g.multiple floors, buildings, etc.). Typically, such large computingsolutions have a central control unit, which enables the computingcenter personal to identify problems or guide repairs or configurationchanges for computing units and related equipment.

If the central control unit and a computing unit are not in the samelocation, an individual, such as a computer administrator, technician orother user, has the responsibility to find the computing unit referencedby the control unit. Applying changes to the wrong computing unit maycause outages or malfunctions in the computing center. Therefore, theuser often manually maintains a location plan where which computing unitis located. The user must read an identifier from the control unit (e.g.a barcode or a human-readable identifier) and save this identifier inthe location plan at the right coordinates. The identifier can then alsobe used to retrieve the coordinates of the control unit from thelocation plan.

SUMMARY OF THE INVENTION

Various approaches to locating computing unit described previously mayinclude the use of beacon devices to automatically locate the presenceof computing units and to store the presence information in a centraldatabase. The potential disadvantage of these approaches includes therequirement to establish and maintain means for a coordinate systemapplicable to the computer center. Other implementations may be costlyor provide other potential disadvantages.

In view of the foregoing, a need exists for a mechanism for locatingcomputer entities without the associated potential disadvantagespreviously described. Accordingly, various embodiments for locating acomputing system within a computing center using a processor device areprovided. A beacon device is provided in proximity to the computingsystem. A request to locate the computing system is triggered on acentral control unit. In response to the request to locate the computingsystem, the control unit generates specification data for a unique radiosignal identifier, sends an activation request and the specificationdata to the beacon device, and provides the specification data to aportable device via a network connection by the control unit, theportable device being separate from the control unit, and stores thespecification data on the portable device. In response to receiving theactivation request, the beacon device on the computing system sends aradio signal identifier generated from the specification data forlocating the computing system.

Related embodiments are also disclosed and provide additionaladvantages.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only embodiments of the invention and are not thereforeto be considered to be limiting of its scope, the invention will bedescribed and explained with additional specificity and detail throughthe use of the accompanying drawings, in which:

FIG. 1 is a block diagram of a computing center, in which aspects of thefollowing description and claimed subject matter may be implemented;

FIG. 2 is a block diagram illustrating an exemplary radio signalidentifier in accordance with the present invention;

FIG. 3 is a flow chart diagram of an exemplary method for locating acomputer-controlled entity according to various aspects of the presentinvention; and

FIG. 4 is a block diagram of a system, including at least one processordevice, in which aspects of the present invention and following claimedsubject matter may be implemented.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary computing center 10 with a central controlunit 20, in which various aspects of the present invention may beimplemented. In the depicted embodiment, the central control unit (CCU)20 is connected (wire or non-wire based) to different computing units(CU) 30, 31, 32, 33. For example, a wire-based connection can beimplemented using Ethernet network connections. The computing units 30,31, 32, 33 are equipped with an identical beacon device 40, 41, 42, 43respectively. The computing units 30, 31, 32, 33 can control theirassociated beacon devices, e.g. via a simple hardware interface. Aportable handheld (HH) device 50 is used by the service personnel of thecomputer center to locate the computing units 30, 31, 32, and 33. Thehandheld device 50 comprises an antenna 51 to receive radio frequencysignals.

In one embodiment the computing units 30, 31, 32, 33 are equipped withan embedded service processor each, which maintains the connection tothe central control unit 20 and controls the associated beacon device inaddition to the execution of other system control tasks required for thecomputing unit. The service processors are connected to the centralcontrol unit 20 via Ethernet connections. The central control unit 20may be a personal computer or a workstation, for example, among othercomputing devices.

The beacon devices 40, 41, 42, 43 are able to emit radio signalidentifiers when triggered by the associated computing units 30, 31, 32,33. A radio signal identifier is similar to a regular radio signal. Thesignal of the radio signal identifier is sent on a frequency known tothe central control unit 20. Its strength may be chosen to cover onlythe area of the computing center 10, or may vary according to aparticular implementation.

FIG. 2 shows the composition of an exemplary radio signal identifier(RSI) 200 in accordance with one embodiment of the present invention. Aspecific preamble 210 is used such that the radio signal identifier 200can be detected when searching for the corresponding signal. Thepreamble is followed by a seed 220, which is a random value, whichshould not be used again when it is used by a running locationdetermination process. The seed 220 is followed by a unique identifier(CU/BC ID) 230, which represents the combination of the particularcomputing unit and its associated beacon device. The unique identifier230 is followed by a world-wide unique identifier (CCU ID) 240 for thecentral control unit 20. This world-wide unique identifier 240 can bebased on other world-wide unique identifiers. For example, theMedia-Access-Control (MAC) address of an Ethernet adapter of the centralcontrol unit 20 can be used as the world-wide unique identifier 240. Theworld-wide unique identifier 240 is followed by the signal strength(SigStr) 250, which represents the signal strength of the sender of theradio signal identifier 200. The signal strength 250 is followed by aCRC (Cyclic Redundancy Check) field 260 for error detection and an endmarker 270, which indicates the end of the radio signal identifier 200.

In one embodiment, the handheld 50 is a regular personal digitalassistant (PDA) equipped with a rotating antenna 51 and atwo-dimensional flat screen display, although one of ordinary skill willappreciate that other handheld or mobile devices, such as tablets,phones, laptop or other mobile computing devices or platforms, and thelike. Again, in one embodiment, the handheld 50 executes a specialcomputer program, which interprets the signal data received by theantenna 51 if it matches the radio signal identifier 200 stored in amemory of the handheld 50. Based on the result of the matching test, thehandheld computer program uses signal strength data, signal strengthdata over time/movement, and signal propagation delay data, as an inputto state of the art algorithms in order to provide graphical directionand distance information, signal strength data, and signal propagationdelay data on the display of the handheld 50. In one embodiment, thesignal strength data and the signal propagation delay data are used bythe handheld computer program to provide the current distance to thecomputing unit on the display.

Instead of, or in addition to, the visual information displayed on thedisplay of the handheld 50, the handheld computer program may provide anaudible feedback signal to the user for informing the user, when moving,whether the relative position of the computing unit is getting closer tothe handheld 50 or farther to the handheld 50.

FIG. 3, following, illustrates an exemplary method for locating acomputer-controlled entity according to one embodiment of the presentinvention. In step 300 a technician from the service personnel of thecomputing center 10 selects a particular computing unit on the centralcontrol unit 20, which executes a special computer program for thispurpose. In an alternate embodiment of the invention the particularcomputing unit may be selected in the control unit computer program bydifferent computer programming means via an Application ProgrammingInterface (API) instead. Based on the particular computing unitselected, the control unit computer program generates the data for aradio signal identifier in step 310. Then in step 320, the control unitcomputer program scans for a free frequency on which the radio signalidentifier can be sent. In an alternate embodiment, the control unitcomputer program scans for a free carrier signal, which can be used totransmit the radio signal identifier in step 320.

In step 330 the control unit computer program instructs the selectedcomputing unit to send a radio signal identifier based on the generatedradio signal identifier data and the determined frequency/signal carrierover its beacon device. When the service processor of the computing unithas received this request together with the generated radio signalidentifier data and frequency/signal carrier from the central controlunit 20, the service processor triggers in step 340 the beacon device ofits computing unit to send the corresponding radio signal identifier.

Independent of step 330, the control unit computer program provides thegenerated radio signal identifier data to the handheld 50 in step 350.The generated radio signal identifier data can be provided manually tothe handheld 50 via memory cards programmed by the central control unit20 or automatically via some interface connection such as Wireless LocalArea Network (WLAN), Bluetooth, Infrared, Universal Serial Bus (USB) orsimilar means for synchronizing PDAs with other computing devices (e.g.Personal Computers). When the handheld 50 has obtained and stored thegenerated radio signal identifier data from the central control unit 20,the handheld computer programs starts to receive signals in step 360.When the handheld computer program received a signal in step 370, thehandheld computer program compares the received signal with the storedradio signal identifier data in step 380. Based on the results of thecomparison in step 380, the handheld computer program providescorresponding direction information.

FIG. 4, following, is a block diagram of an exemplary computer system1500 in which certain embodiments may be implemented. The system 1500may include a circuitry 1502 that may in certain embodiments include amicroprocessor 1504. The computer system 1500 may also include a memory1506 (e.g., a volatile memory device), and storage 1508. The storage1508 may include a non-volatile memory device (e.g., EEPROM, ROM, PROM,RAM, DRAM, SRAM, flash, firmware, programmable logic, etc.), magneticdisk drive, optical disk drive, tape drive, etc. The storage 1508 maycomprise an internal storage device, an attached storage device and/or anetwork accessible storage device. The system 1500 may include a programlogic 1510 including code 1512 that may be loaded into the memory 1506and executed by the microprocessor 1504 or circuitry 1502. In certainembodiments, the program logic 1510 including code 1512 may be stored inthe storage 1508. In certain other embodiments, the program logic 1510may be implemented in the circuitry 1502. Therefore, while FIG. 4 showsthe program logic 1510 separately from the other elements, the programlogic 1510 may be implemented in the memory 1506 and/or the circuitry1502.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

As will be appreciated by one of ordinary skill in the art, aspects ofthe present invention may be embodied as a system, method or computerprogram product. Accordingly, aspects of the present invention may takethe form of an entirely hardware embodiment, an entirely softwareembodiment (including firmware, resident software, micro-code, etc.) oran embodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wired, optical fiber cable, RF, etc., or any suitable combination of theforegoing. Computer program code for carrying out operations for aspectsof the present invention may be written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Java, Smalltalk, C++ or the like and conventionalprocedural programming languages, such as the “C” programming languageor similar programming languages. The program code may execute entirelyon the user's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention have been described above withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according toembodiments of the invention. It will be understood that each block ofthe flowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, can beimplemented by computer program instructions. These computer programinstructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks. The computer program instructions may also beloaded onto a computer, other programmable data processing apparatus, orother devices to cause a series of operational steps to be performed onthe computer, other programmable apparatus or other devices to produce acomputer implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the above figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

While one or more embodiments of the present invention have beenillustrated in detail, one of ordinary skill in the art will appreciatethat modifications and adaptations to those embodiments may be madewithout departing from the scope of the present invention as set forthin the following claims.

What is claimed is:
 1. A method for locating a computing system within acomputing center using a processor device, comprising: providing abeacon device in proximity to said computing system; triggering arequest to locate said computing system on a central control unit; inresponse to the request to locate said computing system, said controlunit: generating specification data for a unique radio signalidentifier, sending an activation request and said specification data tosaid beacon device, and providing said specification data to a portabledevice via a network connection by said control unit, the portabledevice being separate from said control unit, and storing saidspecification data on the portable device; and in response to receivingsaid activation request, said beacon device on said computing systemsending a radio signal identifier generated from said specification datafor locating said computing system.
 2. The method of claim 1, furtherincluding receiving signals on said portable device from said beacondevice of said computing system and comparing the received signals withthe specification data stored on the portable device, and based on theresults of the comparison by said portable device, providing locationinformation of said computing system.
 3. The method of claim 1, whereinsaid computing system includes a computing unit.
 4. The method of claim1, further including: receiving said activation request from saidcontrol unit, and in response to receiving said activation request,triggering said beacon device to send said radio signal identifier. 5.The method of claim 1, wherein said radio signal identifier includes aunique identifier derived from a unique identifier for said control unitand said beacon device.
 6. A system for locating a computing systemwithin a computing center, comprising: at least one processor device,operable in the computing environment, wherein the processor device:provides a beacon device in proximity to said computing system, triggersa request to locate said computing system on a central control unit, inresponse to the request to locate said computing system, said controlunit: generates specification data for a unique radio signal identifier,sends an activation request and said specification data to said beacondevice, and provides said specification data to a portable device via anetwork connection by said control unit, and stores said specificationdata on the portable device, the portable device being separate fromsaid central control unit, and in response to receiving said activationrequest, said beacon device on said computing system sends a radiosignal identifier generated from said specification data for locatingsaid computing system.
 7. The system of claim 6, wherein the at leastone processor device receives signals on said portable device from saidbeacon device of said computing system and comparing the receivedsignals with the specification data stored on the portable device, andbased on the results of the comparison by said portable device, providesinformation of said computing system.
 8. The system of claim 6, furtherincluding a computing unit incorporated into said computing system. 9.The system of claim 6, wherein the at least one processor device:receives said activation request from said control unit, and in responseto receiving said activation request, triggering said beacon device tosend said radio signal identifier.
 10. The system of claim 6, whereinsaid radio signal identifier includes a unique identifier derived from aunique identifier for said control unit and said beacon device.
 11. Thesystem of claim 6, wherein said portable device is one of a personaldigital assistant (PDA), tablet, phone, laptop computer, and mobilecomputing device.
 12. The system of claim 11, further including arotating antenna coupled to the one of the PDA, tablet, phone, laptopcomputer, and mobile computing device for receiving the signals.
 13. Acomputer program product for locating a computing system within acomputing center, the computer program product comprising anon-transitory computer-readable storage medium having computer-readableprogram code portions stored therein, the computer-readable program codeportions comprising: a first executable portion that operates a beacondevice in proximity to said computing system; a second executableportion that triggers a request to locate said entity on a centralcontrol unit; a third executable portion that, in response to therequest to locate said computing system, said control unit: generatesspecification data for a unique radio signal identifier, sends anactivation request and said specification data to said beacon device,and provides said specification data to a portable device via a networkconnection by said control unit, and storing said specification data onthe portable device, the portable device being separate from saidcentral control unit; and a fourth executable portion that sends, inresponse to receiving said activation request, a radio signal identifiergenerated from said specification data using said beacon device on saidcomputing device for locating said computing system.
 14. The computerprogram product of claim 13, further including a fifth executableportion that receives signals on said portable device from said beacondevice of said entity and compares said received signals with saidspecification data stored on said portable device, and based on theresults of the comparison by said portable device, providing locationinformation of said computing system.
 15. The computer program productof claim 13, wherein said computing system includes a computing unit.16. The computer program product of claim 13, further including a fifthexecutable portion that: receives said activation request from saidcontrol unit, and in response to receiving said activation request,triggers said beacon device to send said radio signal identifier. 17.The computer program product of claim 13, wherein said radio signalidentifier includes a unique identifier derived from a unique identifierfor said control unit and said beacon device.